﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://www.utillity.com/schemas/rave/v1/ntfs" elementFormDefault="qualified" targetNamespace="http://www.utillity.com/schemas/rave/v1/ntfs" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="GroupCreationConfiguration" type="tns:GroupCreationConfiguration" />
  <xs:complexType name="GroupCreationConfiguration">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" default="" name="DisplayName" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="Description" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="CreationOU" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="Members" type="tns:ArrayOfString" />
      <xs:element minOccurs="0" maxOccurs="1" name="Attributes" type="tns:ArrayOfActiveDirectoryAttribute" />
    </xs:sequence>
    <xs:attribute name="scope" type="tns:GroupScope" use="required" />
    <xs:attribute name="type" type="tns:GroupType" use="required" />
  </xs:complexType>
  <xs:complexType name="ArrayOfString">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ID" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ArrayOfActiveDirectoryAttribute">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Attribute" nillable="true" type="tns:ActiveDirectoryAttribute" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ActiveDirectoryAttribute">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="name" type="xs:string" />
        <xs:attribute default="String" name="type" type="tns:ActiveDirectoryAttributeValueType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="ActiveDirectoryAttributeValueType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="String" />
      <xs:enumeration value="Member" />
      <xs:enumeration value="Integer" />
      <xs:enumeration value="LongInt" />
      <xs:enumeration value="Binary" />
      <xs:enumeration value="DateTimeUTC" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="GroupScope">
    <xs:restriction base="xs:string">
      <xs:enumeration value="DomainLocal" />
      <xs:enumeration value="Global" />
      <xs:enumeration value="Universal" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="GroupType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Security" />
      <xs:enumeration value="Distribution" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="MemberAdditionalInformation" type="tns:MemberAdditionalInformation" />
  <xs:complexType name="MemberAdditionalInformation">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="AdditionalFilter" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="LdapConnectionString" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="LdapConnectionUser" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="LdapConnectionPassword" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
</xs:schema>